package com.web709.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.web709.entity.Activity;
import com.web709.entity.ActivityParticipant;

import java.util.List;
import java.util.Map;

public interface ActivityParticipantService extends IService<ActivityParticipant> {
    void save(Integer id, Integer userId);

    void removeByActivityId(int activityId);

    void saveV(Integer id, Integer userId);
    
    /**
     * 统计指定活动的用户参与人数
     * @param activityId 活动ID
     * @return 用户参与人数
     */
    long countUsersByActivityId(Integer activityId);
    
    /**
     * 统计指定活动的志愿者参与人数
     * @param activityId 活动ID
     * @return 志愿者参与人数
     */
    long countVolunteersByActivityId(Integer activityId);
    
    /**
     * 获取所有活动的参与统计数据
     * @return 活动ID与参与统计数据的映射
     */
    List<Map<String, Object>> getParticipationStatistics();
}
